﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Practices.Unity;
using Triunfadores.BusinessLogic.Service;
using Triunfadores.BusinessEntities;
using Triunfadores.Repository.Service;

namespace Triunfadores.BusinessLogic
{
    public class SolicitudPrestamoService:ISolicitudPrestamoService
    {
        [Dependency]
        public ISolicitudPrestamoRepository SolicitudPrestamoRepository { get; set; }

        public IEnumerable<SolicitudPrestamo> ObtenerTodasLasSolicitudesDePrestamosPorCriterioTipoClienteYFechas(
            string criterio, int? idTipoCliente, DateTime? fechInicial, DateTime? fechFinal)
        {
            return
                SolicitudPrestamoRepository.ObtenerTodasLasSolicitudesDePrestamosPorCriterioTipoClienteYFechas(
                    criterio, idTipoCliente, fechInicial, fechFinal);
        }

        public SolicitudPrestamo ObtenerSolicitudPrestamoPorId(int id)
        {
            return SolicitudPrestamoRepository.ObtenerSolicitudPrestamoPorId(id);
        }

        public void AddSolicitudPrestamo(SolicitudPrestamo solicitudPrestamo)
        {
            SolicitudPrestamoRepository.AddSolicitudPrestamo(solicitudPrestamo);
        }

        public void UpdateSolicitudPrestamo(SolicitudPrestamo solicitudPrestamo)
        {
            throw new NotImplementedException();
        }

        public void DeleteSolicitudPrestamo(int id)
        {
            throw new NotImplementedException();
        }
        
        public SolicitudPrestamo ObtenerSolicitudPrestamoPorIdCliente(int idCliente)
        {
            return SolicitudPrestamoRepository.ObtenerSolicitudPrestamoPorIdCliente(idCliente);
        }

        public IEnumerable<SolicitudPrestamo> ObtenerTodasLasSolicitudesPrestamo()
        {
            return SolicitudPrestamoRepository.ObtenerTodasLasSolicitudesPrestamo();
        }
    }
}
